package packVistas;

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.ListModel;

import java.awt.BorderLayout;
import java.awt.GridBagLayout;

import javax.swing.JList;

import java.awt.GridBagConstraints;

import javax.swing.JButton;

import packLigaDeFutbol.GestorJugadores;
import packLigaDeFutbol.GestorPartidos;
import packLigaDeFutbol.UtilControles;

import java.awt.Insets;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JTable;
import javax.swing.JLabel;

public class Titulares extends JDialog {
	private int idEquipo;
	private int idPartido;
	private JTable lJugadores;

	/**
	 * Create the dialog.
	 */
	public Titulares(int pIdPartido, int pIdEquipo) {
		setModal(true);
		idPartido = pIdPartido;
		idEquipo = pIdEquipo;
		setTitle("Seleccionar titulares");
		setBounds(100, 100, 450, 300);
		
		JPanel panel = new JPanel();
		getContentPane().add(panel, BorderLayout.WEST);
		GridBagLayout gbl_panel = new GridBagLayout();
		gbl_panel.columnWidths = new int[]{200, 478, 0};
		gbl_panel.rowHeights = new int[]{0, 181, 0, 0, 0};
		gbl_panel.columnWeights = new double[]{1.0, 1.0, Double.MIN_VALUE};
		gbl_panel.rowWeights = new double[]{0.0, 1.0, 0.0, 1.0, Double.MIN_VALUE};
		panel.setLayout(gbl_panel);
		
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				dispose();
			}
		});
		
		lJugadores = new JTable();
		UtilControles.cargarTabla(lJugadores, GestorPartidos.get().getConvocados(this.idPartido, idEquipo));
		GridBagConstraints gbc_lJugadores = new GridBagConstraints();
		gbc_lJugadores.insets = new Insets(0, 0, 5, 5);
		gbc_lJugadores.fill = GridBagConstraints.BOTH;
		gbc_lJugadores.gridx = 0;
		gbc_lJugadores.gridy = 1;
		panel.add(lJugadores, gbc_lJugadores);
		
		JLabel lblParaSeleccionarLos = new JLabel("Pulse mayus y seleccione los jugadores.");
		GridBagConstraints gbc_lblParaSeleccionarLos = new GridBagConstraints();
		gbc_lblParaSeleccionarLos.fill = GridBagConstraints.HORIZONTAL;
		gbc_lblParaSeleccionarLos.anchor = GridBagConstraints.BASELINE;
		gbc_lblParaSeleccionarLos.insets = new Insets(0, 0, 5, 0);
		gbc_lblParaSeleccionarLos.gridx = 1;
		gbc_lblParaSeleccionarLos.gridy = 1;
		panel.add(lblParaSeleccionarLos, gbc_lblParaSeleccionarLos);
		GridBagConstraints gbc_btnCancelar = new GridBagConstraints();
		gbc_btnCancelar.insets = new Insets(0, 0, 5, 5);
		gbc_btnCancelar.gridx = 0;
		gbc_btnCancelar.gridy = 2;
		panel.add(btnCancelar, gbc_btnCancelar);
		
		JButton btnAceptar = new JButton("Aceptar");
		btnAceptar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				GestorPartidos gp = GestorPartidos.get();
				int[] rows = lJugadores.getSelectedRows();
				ArrayList<String> lista = new ArrayList<String>();
				for(int i = 0; i < rows.length; i++) {
					lista.add((String)lJugadores.getValueAt(rows[i], 0));
				}
				gp.anadirTitulares(lista, idPartido);
				dispose();
			}
		});
		GridBagConstraints gbc_btnAceptar = new GridBagConstraints();
		gbc_btnAceptar.anchor = GridBagConstraints.WEST;
		gbc_btnAceptar.insets = new Insets(0, 0, 5, 0);
		gbc_btnAceptar.gridx = 1;
		gbc_btnAceptar.gridy = 2;
		panel.add(btnAceptar, gbc_btnAceptar);

	}
}